ECMAScript/JavaScript Regular Expression Literal
/^(|([!$&-.0-9;=@-Z_a-z~]|%[0-9A-Fa-f]{2})+(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?|/(([!$&-.0-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?|/{2}([2-9]|1[0-9]?:|(0|1[0-9]{2})0[!$&-\-0-;=A-Z_a-z~]|(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|1[0-9]?([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|(0|1[0-9]{2})(:|([!$&-.1-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|0(\.|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:))(:|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:|[0-1](\.|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*:)*([2-9]|[0-1][!$&-\-0-;=A-Z_a-z~]))*(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|\[[Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|\[[Vv][0-9A-Fa-f]+\.[!$&-.0-;=A-Z_a-z~]+\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|(\[(([0-9A-Fa-f]:){6}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)))))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[(([0-9A-Fa-f]:){6}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:)|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:|:[0-9A-Fa-f]{2}:)|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:))))))((:[0-9A-Fa-f]?\]|[A-Fa-f]:(:\]|[0-9A-Fa-f]\])|[A-Fa-f][0-9A-Fa-f]:(:\]|[0-9A-Fa-f]\])|(:[0-9A-Fa-f]{2}|[A-Fa-f]:[0-9A-Fa-f]{2}|[A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f]{2})\]|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|((:[0-9A-Fa-f]{2}|[A-Fa-f]:[0-9A-Fa-f]{2}|[A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[A-Fa-f][0-9A-Fa-f]{2,3}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|0\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[3-9](([A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[A-Fa-f]?:[0-9A-Fa-f]{2}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([A-Fa-f]?:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9](:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1(([A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[A-Fa-f]?:[0-9A-Fa-f]{2}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([A-Fa-f]?:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1[0-9]((:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|2(([A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[A-Fa-f]?:[0-9A-Fa-f]{2}\]|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|([A-Fa-f]?:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9](:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{1,2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[6-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|5((:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[6-9A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[6-9A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-5]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-5]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[0-4]((:(:\]|[0-9A-Fa-f]\])|:[0-9A-Fa-f]{2}\]|[A-Fa-f]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\])|(:[0-9A-Fa-f]{3}|[A-Fa-f][0-9A-Fa-f]?:[0-9A-Fa-f]{3})[0-9A-Fa-f]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]([0-9A-Fa-f]?:(:\]|[0-9A-Fa-f]\])|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9]?\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|[0-9]?\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))))(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2,3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){5}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2}))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){5}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){5}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))2|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){1,2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]){2})|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)?([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))))|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))2|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|(((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2})))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2,3}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0(([0-9A-Fa-f]{2})?[0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))))|((\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){4}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2}))|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3}))[0-9A-Fa-f]?:{2}|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))))2|((\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2}))|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}(:[0-9A-Fa-f]:{2}|:[0-9A-Fa-f]{2}:{2})|([0-9A-Fa-f]?:[0-9A-Fa-f]:[0-9A-Fa-f]{3}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}:{2})))2|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1){2}))[0-9]|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|1[0-9](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){3}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2))|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]|[0-4](((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9]|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9]){2}))(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)))|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:){2}2|([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|[3-9](([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2)|(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2)|((([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)1|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))1)[0-9]|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)1[0-9])(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|1[0-9]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2))|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]:{2}|([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2}):{2}|[0-9A-Fa-f]{3}([0-9A-Fa-f]?:[0-9A-Fa-f]:{2}|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}:{2})|(([0-9A-Fa-f]:[0-9A-Fa-f]{2}|[0-9A-Fa-f]{2}:[0-9A-Fa-f]{2})[0-9A-Fa-f]|[0-9A-Fa-f]{3,4}:[0-9A-Fa-f]{3})[0-9A-Fa-f]?:{2}))2|((\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})(([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2})|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[([0-9A-Fa-f]:{2}|[0-9A-Fa-f]{2}:{2}|[0-9A-Fa-f]{3,4}:{2}))2)(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(\[:{2}|([!$&-.;=A-Z_a-z~]|%[0-9A-Fa-f]{2})([!$&-.0-9;=A-Z_a-z~]|%[0-9A-Fa-f]{2})*\[:{2})2(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2){2}))(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2|[0-4]((:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]:|[A-Fa-f][0-9A-Fa-f]{2,3}:|0([0-9A-Fa-f]{2})?[0-9A-Fa-f]?:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[0-9](:|[0-9A-Fa-f]{1,2}:))2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:)2|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2)|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))2|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)2|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)2){2}))([A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[6-9](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{1,2}\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|5(\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[6-9A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-5]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))[3-9]|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)[3-9])([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|[0-4](\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9]([0-9A-Fa-f]?\](|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)([A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|0([0-9A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]{2}([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)[3-9]([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|(:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1([A-Fa-f]?((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f][0-9A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))))|((([A-Fa-f]?:|[A-Fa-f][0-9A-Fa-f]{1,2}:|[6-9](:|[0-9A-Fa-f]{1,2}:))1|5(:|[6-9A-Fa-f][0-9A-Fa-f]?:|[0-5][0-9A-Fa-f]?:)1)[0-9]|[0-4](:|[A-Fa-f][0-9A-Fa-f]?:|[0-9][0-9A-Fa-f]?:)1[0-9])(((:[0-9A-Fa-f])?\]|:[0-9A-Fa-f]{2}\]|:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|[A-Fa-f]([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.){2}2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|\.(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?))|\.2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\.|1\.|([3-9]|1[0-9])[0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2(([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)(0\]|1\]|([3-9]|1[0-9])[0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)|([6-9]?\.|5[0-5]?\.|[0-4][0-9]?\.)2([6-9]?\]|5[0-5]?\]|[0-4][0-9]?\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*|:[0-9]*(/([!$&-;=@-Z_a-z~]|%[0-9A-Fa-f]{2})*)?)))|[0-9](([0-9A-Fa-f]?\]|[0-9A-Fa-f]?:[0-9A-Fa-f]\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{2}\]|[0-9A-Fa-f]?:[0-9A-Fa-f]{3,4}\])(|/([!$&-;=@-Z_a-z~]|%[0-9A-